home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / NDK / NDK_3.5 / Include / include_h / pragmas / hdwrench_pragmas.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-10-20  |  7.1 KB  |  200 lines

  1. #ifndef PRAGMAS_HDWRENCH_PRAGMAS_H
  2. #define PRAGMAS_HDWRENCH_PRAGMAS_H
  3.  
  4. /*
  5. **    $VER: hdwrench_pragmas.h 1.2 (6.10.1999)
  6. **    Includes Release 44.1
  7. **
  8. **    Direct ROM interface (pragma) definitions.
  9. **
  10. **    Copyright © 1999 Joanne B. Dow, Wizardess Designs, for license to Amiga, Inc.
  11. **        All Rights Reserved
  12. */
  13.  
  14. #if defined(LATTICE) || defined(__SASC) || defined(_DCC)
  15. #ifndef __CLIB_PRAGMA_LIBCALL
  16. #define __CLIB_PRAGMA_LIBCALL
  17. #endif /* __CLIB_PRAGMA_LIBCALL */
  18. #else /* __MAXON__, __STORM__ or AZTEC_C */
  19. #ifndef __CLIB_PRAGMA_AMICALL
  20. #define __CLIB_PRAGMA_AMICALL
  21. #endif /* __CLIB_PRAGMA_AMICALL */
  22. #endif /* */
  23.  
  24. #if defined(__SASC) || defined(__STORM__)
  25. #ifndef __CLIB_PRAGMA_TAGCALL
  26. #define __CLIB_PRAGMA_TAGCALL
  27. #endif /* __CLIB_PRAGMA_TAGCALL */
  28. #endif /* __MAXON__, __STORM__ or AZTEC_C */
  29.  
  30. #ifndef CLIB_HDWRENCH_PROTOS_H
  31. #include <clib/hdwrench_protos.h>
  32. #endif /* CLIB_HDWRENCH_PROTOS_H */
  33.  
  34. /* Open and close a device for use with other library functions */
  35. #ifdef __CLIB_PRAGMA_LIBCALL
  36.  #pragma libcall HDWBase HDWOpenDevice 1e 0802
  37. #endif /* __CLIB_PRAGMA_LIBCALL */
  38. #ifdef __CLIB_PRAGMA_AMICALL
  39.  #pragma amicall(HDWBase, 0x1e, HDWOpenDevice(a0,d0))
  40. #endif /* __CLIB_PRAGMA_AMICALL */
  41. #ifdef __CLIB_PRAGMA_LIBCALL
  42.  #pragma libcall HDWBase HDWCloseDevice 24 00
  43. #endif /* __CLIB_PRAGMA_LIBCALL */
  44. #ifdef __CLIB_PRAGMA_AMICALL
  45.  #pragma amicall(HDWBase, 0x24, HDWCloseDevice())
  46. #endif /* __CLIB_PRAGMA_AMICALL */
  47. /* Disk access functions */
  48. #ifdef __CLIB_PRAGMA_LIBCALL
  49.  #pragma libcall HDWBase RawRead 2a 0802
  50. #endif /* __CLIB_PRAGMA_LIBCALL */
  51. #ifdef __CLIB_PRAGMA_AMICALL
  52.  #pragma amicall(HDWBase, 0x2a, RawRead(a0,d0))
  53. #endif /* __CLIB_PRAGMA_AMICALL */
  54. #ifdef __CLIB_PRAGMA_LIBCALL
  55.  #pragma libcall HDWBase RawWrite 30 801
  56. #endif /* __CLIB_PRAGMA_LIBCALL */
  57. #ifdef __CLIB_PRAGMA_AMICALL
  58.  #pragma amicall(HDWBase, 0x30, RawWrite(a0))
  59. #endif /* __CLIB_PRAGMA_AMICALL */
  60. #ifdef __CLIB_PRAGMA_LIBCALL
  61.  #pragma libcall HDWBase WriteBlock 36 801
  62. #endif /* __CLIB_PRAGMA_LIBCALL */
  63. #ifdef __CLIB_PRAGMA_AMICALL
  64.  #pragma amicall(HDWBase, 0x36, WriteBlock(a0))
  65. #endif /* __CLIB_PRAGMA_AMICALL */
  66. /* Disk RDB access functions */
  67. #ifdef __CLIB_PRAGMA_LIBCALL
  68.  #pragma libcall HDWBase ReadRDBs 3c 00
  69. #endif /* __CLIB_PRAGMA_LIBCALL */
  70. #ifdef __CLIB_PRAGMA_AMICALL
  71.  #pragma amicall(HDWBase, 0x3c, ReadRDBs())
  72. #endif /* __CLIB_PRAGMA_AMICALL */
  73. #ifdef __CLIB_PRAGMA_LIBCALL
  74.  #pragma libcall HDWBase WriteRDBs 42 00
  75. #endif /* __CLIB_PRAGMA_LIBCALL */
  76. #ifdef __CLIB_PRAGMA_AMICALL
  77.  #pragma amicall(HDWBase, 0x42, WriteRDBs())
  78. #endif /* __CLIB_PRAGMA_AMICALL */
  79. /* Simple query functions. */
  80. #ifdef __CLIB_PRAGMA_LIBCALL
  81.  #pragma libcall HDWBase QueryReady 48 801
  82. #endif /* __CLIB_PRAGMA_LIBCALL */
  83. #ifdef __CLIB_PRAGMA_AMICALL
  84.  #pragma amicall(HDWBase, 0x48, QueryReady(a0))
  85. #endif /* __CLIB_PRAGMA_AMICALL */
  86. #ifdef __CLIB_PRAGMA_LIBCALL
  87.  #pragma libcall HDWBase QueryInquiry 4e 9802
  88. #endif /* __CLIB_PRAGMA_LIBCALL */
  89. #ifdef __CLIB_PRAGMA_AMICALL
  90.  #pragma amicall(HDWBase, 0x4e, QueryInquiry(a0,a1))
  91. #endif /* __CLIB_PRAGMA_AMICALL */
  92. #ifdef __CLIB_PRAGMA_LIBCALL
  93.  #pragma libcall HDWBase QueryModeSense 54 981004
  94. #endif /* __CLIB_PRAGMA_LIBCALL */
  95. #ifdef __CLIB_PRAGMA_AMICALL
  96.  #pragma amicall(HDWBase, 0x54, QueryModeSense(d0,d1,a0,a1))
  97. #endif /* __CLIB_PRAGMA_AMICALL */
  98. #ifdef __CLIB_PRAGMA_LIBCALL
  99.  #pragma libcall HDWBase QueryFindValid 5a A2109806
  100. #endif /* __CLIB_PRAGMA_LIBCALL */
  101. #ifdef __CLIB_PRAGMA_AMICALL
  102.  #pragma amicall(HDWBase, 0x5a, QueryFindValid(a0,a1,d0,d1,d2,a2))
  103. #endif /* __CLIB_PRAGMA_AMICALL */
  104. #ifdef __CLIB_PRAGMA_LIBCALL
  105.  #pragma libcall HDWBase QueryCapacity 60 9802
  106. #endif /* __CLIB_PRAGMA_LIBCALL */
  107. #ifdef __CLIB_PRAGMA_AMICALL
  108.  #pragma amicall(HDWBase, 0x60, QueryCapacity(a0,a1))
  109. #endif /* __CLIB_PRAGMA_AMICALL */
  110. /* File and memory IO for RDB information in the two formats recognized */
  111. #ifdef __CLIB_PRAGMA_LIBCALL
  112.  #pragma libcall HDWBase ReadMountfile 66 98003
  113. #endif /* __CLIB_PRAGMA_LIBCALL */
  114. #ifdef __CLIB_PRAGMA_AMICALL
  115.  #pragma amicall(HDWBase, 0x66, ReadMountfile(d0,a0,a1))
  116. #endif /* __CLIB_PRAGMA_AMICALL */
  117. #ifdef __CLIB_PRAGMA_LIBCALL
  118.  #pragma libcall HDWBase ReadRDBStructs 6c 0802
  119. #endif /* __CLIB_PRAGMA_LIBCALL */
  120. #ifdef __CLIB_PRAGMA_AMICALL
  121.  #pragma amicall(HDWBase, 0x6c, ReadRDBStructs(a0,d0))
  122. #endif /* __CLIB_PRAGMA_AMICALL */
  123. #ifdef __CLIB_PRAGMA_LIBCALL
  124.  #pragma libcall HDWBase WriteMountfile 72 09803
  125. #endif /* __CLIB_PRAGMA_LIBCALL */
  126. #ifdef __CLIB_PRAGMA_AMICALL
  127.  #pragma amicall(HDWBase, 0x72, WriteMountfile(a0,a1,d0))
  128. #endif /* __CLIB_PRAGMA_AMICALL */
  129. #ifdef __CLIB_PRAGMA_LIBCALL
  130.  #pragma libcall HDWBase WriteRDBStructs 78 801
  131. #endif /* __CLIB_PRAGMA_LIBCALL */
  132. #ifdef __CLIB_PRAGMA_AMICALL
  133.  #pragma amicall(HDWBase, 0x78, WriteRDBStructs(a0))
  134. #endif /* __CLIB_PRAGMA_AMICALL */
  135. #ifdef __CLIB_PRAGMA_LIBCALL
  136.  #pragma libcall HDWBase InMemMountfile 7e 98003
  137. #endif /* __CLIB_PRAGMA_LIBCALL */
  138. #ifdef __CLIB_PRAGMA_AMICALL
  139.  #pragma amicall(HDWBase, 0x7e, InMemMountfile(d0,a0,a1))
  140. #endif /* __CLIB_PRAGMA_AMICALL */
  141. #ifdef __CLIB_PRAGMA_LIBCALL
  142.  #pragma libcall HDWBase InMemRDBStructs 84 10803
  143. #endif /* __CLIB_PRAGMA_LIBCALL */
  144. #ifdef __CLIB_PRAGMA_AMICALL
  145.  #pragma amicall(HDWBase, 0x84, InMemRDBStructs(a0,d0,d1))
  146. #endif /* __CLIB_PRAGMA_AMICALL */
  147. #ifdef __CLIB_PRAGMA_LIBCALL
  148.  #pragma libcall HDWBase OutMemMountfile 8a 109804
  149. #endif /* __CLIB_PRAGMA_LIBCALL */
  150. #ifdef __CLIB_PRAGMA_AMICALL
  151.  #pragma amicall(HDWBase, 0x8a, OutMemMountfile(a0,a1,d0,d1))
  152. #endif /* __CLIB_PRAGMA_AMICALL */
  153. #ifdef __CLIB_PRAGMA_LIBCALL
  154.  #pragma libcall HDWBase OutMemRDBStructs 90 09803
  155. #endif /* __CLIB_PRAGMA_LIBCALL */
  156. #ifdef __CLIB_PRAGMA_AMICALL
  157.  #pragma amicall(HDWBase, 0x90, OutMemRDBStructs(a0,a1,d0))
  158. #endif /* __CLIB_PRAGMA_AMICALL */
  159. /* Complex query functions. */
  160. #ifdef __CLIB_PRAGMA_LIBCALL
  161.  #pragma libcall HDWBase FindDiskName 96 801
  162. #endif /* __CLIB_PRAGMA_LIBCALL */
  163. #ifdef __CLIB_PRAGMA_AMICALL
  164.  #pragma amicall(HDWBase, 0x96, FindDiskName(a0))
  165. #endif /* __CLIB_PRAGMA_AMICALL */
  166. #ifdef __CLIB_PRAGMA_LIBCALL
  167.  #pragma libcall HDWBase FindControllerID 9c 9802
  168. #endif /* __CLIB_PRAGMA_LIBCALL */
  169. #ifdef __CLIB_PRAGMA_AMICALL
  170.  #pragma amicall(HDWBase, 0x9c, FindControllerID(a0,a1))
  171. #endif /* __CLIB_PRAGMA_AMICALL */
  172. #ifdef __CLIB_PRAGMA_LIBCALL
  173.  #pragma libcall HDWBase FindLastSector a2 00
  174. #endif /* __CLIB_PRAGMA_LIBCALL */
  175. #ifdef __CLIB_PRAGMA_AMICALL
  176.  #pragma amicall(HDWBase, 0xa2, FindLastSector())
  177. #endif /* __CLIB_PRAGMA_AMICALL */
  178. #ifdef __CLIB_PRAGMA_LIBCALL
  179.  #pragma libcall HDWBase FindDefaults a8 8002
  180. #endif /* __CLIB_PRAGMA_LIBCALL */
  181. #ifdef __CLIB_PRAGMA_AMICALL
  182.  #pragma amicall(HDWBase, 0xa8, FindDefaults(d0,a0))
  183. #endif /* __CLIB_PRAGMA_AMICALL */
  184. /* The following two functions benefit from an active callback hook. */
  185. /* Please see the HDW_CallBackMsgs.h file for suggested messages. */
  186. #ifdef __CLIB_PRAGMA_LIBCALL
  187.  #pragma libcall HDWBase LowlevelFormat ae 801
  188. #endif /* __CLIB_PRAGMA_LIBCALL */
  189. #ifdef __CLIB_PRAGMA_AMICALL
  190.  #pragma amicall(HDWBase, 0xae, LowlevelFormat(a0))
  191. #endif /* __CLIB_PRAGMA_AMICALL */
  192. #ifdef __CLIB_PRAGMA_LIBCALL
  193.  #pragma libcall HDWBase VerifyDrive b4 801
  194. #endif /* __CLIB_PRAGMA_LIBCALL */
  195. #ifdef __CLIB_PRAGMA_AMICALL
  196.  #pragma amicall(HDWBase, 0xb4, VerifyDrive(a0))
  197. #endif /* __CLIB_PRAGMA_AMICALL */
  198.  
  199. #endif /* PRAGMAS_HDWRENCH_PRAGMAS_H */
  200.